(function() { 
    
    // Fonction pour désactiver les tooltips
    
    function deactivateTooltips() {
    
        var spans = document.getElementsByTagName('span'),
        spansLength = spans.length;
        
        for (var i = 0 ; i < spansLength ; i++) {
            if (spans[i].className == 'tooltip') {
                spans[i].style.display = 'none';
            }
        }    
    }
    
    
    // Fonction pour afficher les tootips
    
    function getTooltip(element) {
    
        while (element = element.nextSibling) {
            if (element.className === 'tooltip') {
                return element;
            }
        }        
        return false;    
    }
    
    
    // Fonctions pour vérifier le formulaire
    
    var check = {}; 
        
    check['pseudo'] = function() {
    
        var pseudo = document.getElementById('pseudo'),
            tooltipStyle = getTooltip(pseudo).style;
        
        if (pseudo.value.length >= 4) {
            pseudo.className = 'correct';
            tooltipStyle.display = 'none';
            return true;
        } else {
            pseudo.className = 'incorrect';
            tooltipStyle.display = 'inline-block';
            return false;
        }    
    };
    
    check['pass1'] = function() {
    
        var pass1 = document.getElementById('pass1'),
            tooltipStyle = getTooltip(pass1).style;
        
        if (pass1.value.length >= 6) {
            pass1.className = 'correct';
            tooltipStyle.display = 'none';
            return true;
        } else {
            pass1.className = 'incorrect';
            tooltipStyle.display = 'inline-block';
            return false;
        }   
    };
    
    check['pass2'] = function() {
    
        var pass1 = document.getElementById('pass1'),
            pass2 = document.getElementById('pass2'),
            tooltipStyle = getTooltip(pass2).style;
        
        if (pass1.value == pass2.value && pass2.value != '') {
            pass2.className = 'correct';
            tooltipStyle.display = 'none';
            return true;
        } else {
            pass2.className = 'incorrect';
            tooltipStyle.display = 'inline-block';
            return false;
        }    
    };
    
    check['ville'] = function() {
    
        var ville = document.getElementById('ville'),
            tooltipStyle = getTooltip(ville).style;
        
        if (ville.options[ville.selectedIndex].value != 'none') {
            tooltipStyle.display = 'none';
            return true;
        } else {
            tooltipStyle.display = 'inline-block';
            return false;
        }    
    };
	
	check['mail'] = function() {
		
		var mail 	= document.getElementById('mail').value,
			tooltipStyle = getTooltip(document.getElementById('mail')).style;
   		var verif 	= /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/

		if (verif.exec(mail) == null)
		{
			tooltipStyle.display ='inline-block';
			return false;
		} else {
			tooltipStyle.display ='none';
			return true;
		}	
	}
	
    // Evénements
    
        var myForm = document.getElementById('myForm'),
            inputs = document.getElementsByTagName('input'),
            inputsLength = inputs.length;
    
        for (var i = 0 ; i < inputsLength ; i++) {
            if (inputs[i].type == 'text' || inputs[i].type == 'password') {
    
                inputs[i].onkeyup = function() {
                    if (typeof(check[this.id]) == "function") {
						check[this.id](this.id); // 
					}
                };
    
            }
        }
    
        myForm.onsubmit = function() {
    
            var result = true;
    
            for (var i in check) {
                result = check[i](i) && result;
            }
    
            if (result) {
                alert('Vous êtes désormais inscrit.');
            }    
            return result;    
        };
    
        myForm.onreset = function() {
    
            for (var i = 0 ; i < inputsLength ; i++) {
                if (inputs[i].type == 'text' || inputs[i].type == 'password') {
                    inputs[i].className = '';
                }
            }
    
            deactivateTooltips();    
        };

    deactivateTooltips();
})();
